iT邦幫忙

2024 iThome 鐵人賽

DAY 10
0
AI/ ML & Data

Web仔也來學ML系列 第 10

Web仔也來學ML [Day 10] - 邏輯回歸(Logistic Regression)(下)

  • 分享至 

  • xImage
  •  

我們在上一篇已經提到說,我們要找的東西實際上是一個機率,如果這個 Posterior probability > 0.5 的話,就 output C1,否則就 output C2。

找一個Function set

假設如果要找的東西是一個Gaussian Distribution的話,我們可以用sigma(z)表示,而這個z就會是 w 跟 x 的 inner product 加上 b:
https://ithelp.ithome.com.tw/upload/images/20240922/20162542DTjc2O6uvv.png
sigma(z)(這裏使用sigmoid函數)公式:
https://ithelp.ithome.com.tw/upload/images/20240922/20162542IOvoMLKFGb.png

所以最後我們的function set會是這樣的:
https://ithelp.ithome.com.tw/upload/images/20240922/20162542grnLZXlOo7.png
這邊的f下標w和b表示的是,我們這個function set是受w和b所控制的,就像我們之前説到機器學習的三個步驟一樣,第一步就是找到一個function set,而現在我們找到的就是這樣一個綫性的function set,輸入一個x,給出它屬於Class 1 的機率。

如果我們用圖像來表示整個流程的話:
https://ithelp.ithome.com.tw/upload/images/20240922/20162542eAVx7ADEzm.png
可以看到我們的最左邊的輸入是一個X的vector,裏面每個dimension都有一個對應的w組成的W的vector,再加上一個b,這整個的summation就是z,丟進一個sigma激活函數(這邊用sigmoid,但也可以是softmax、ReLu等),output就是這個丟進去的x屬於class 1 的機率。

衡量Function set的好壞

假設我們現在有一組資料,標好每個x屬於哪個class:
https://ithelp.ithome.com.tw/upload/images/20240922/201625429Eer57PI3Q.png
那麽我們現在要做的就是找出最大的似然(Likelihood),公式如下:
https://ithelp.ithome.com.tw/upload/images/20240922/20162542PJLgVrxmRa.png
這裏的L指的不是Loss Function,而是Likelihood。另外一個需要注意的是,因爲我們的目標是計算Class 1的機率,所以會看到我們的式子裏面的x3的計算是1-f(x3)
我們的目標就是找到最大的w和b(w*, b* = arg max L(w, b)),然而這件事會等同於找到一組最小的負nature log 的 L(w, b)
https://ithelp.ithome.com.tw/upload/images/20240922/20162542PJeY9VSR5o.png

why

爲什麽要不要使用左式,而要使用右式?這是因爲本來的式子是乘法,通過取-ln,我們就可以把原本的式子轉換成加法,也就是:
https://ithelp.ithome.com.tw/upload/images/20240922/20162542OAqWAT4bcb.png
可是這樣又有一個問題,那就是這樣的式子也不太好處理,因爲沒辦法用一個summation來代表(因爲不同的class需要用到不一樣的function),所以我們可以把本來的data set的標簽處理一下,把class 1設爲1, class 2 設爲0:
https://ithelp.ithome.com.tw/upload/images/20240922/201625421jXKD7pVhr.png
這樣我們的公式就可以轉換成下面:
https://ithelp.ithome.com.tw/upload/images/20240922/201625426LO9EdBz3k.png
上面這段過程其實就是對數似然函數(log-likelihood function)轉換為交叉熵損失函數(Cross Entropy Loss)的過程。
總結一下,我們的推導過程中式子的變化就會是:

  1. https://ithelp.ithome.com.tw/upload/images/20240922/201625420yTmjQcbIi.png
  2. https://ithelp.ithome.com.tw/upload/images/20240922/20162542yU3hI9aloX.png
  3. https://ithelp.ithome.com.tw/upload/images/20240922/20162542wNyem8nQ61.png

找到最好的Function

上面我們得到了衡量function好壞的式子:
https://ithelp.ithome.com.tw/upload/images/20240922/20162542VlOminUwGy.png
這邊如果對這個式子做了一系列的數學運算后,會得到:
https://ithelp.ithome.com.tw/upload/images/20240922/20162542ipuCyIkASF.png
現在我們就可以使用Gradient Decent對參數進行更新:
https://ithelp.ithome.com.tw/upload/images/20240922/20162542KILWTngHqZ.png

今天這章的内容參考自李宏毅教授的公開授課影片,公式、圖片都來自李宏毅教授的PPT:鏈接


上一篇
Web仔也來學ML [Day 9] - 邏輯回歸(Logistic Regression)(中)
下一篇
Web仔也來學ML [Day 11] - More About Cross-Entropy
系列文
Web仔也來學ML30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言